The current environment of computer networks is characterized by an exponential growth in the circulation of soft-copy or electronic documents. They include plain text documents or text-like document e.g., ASCII (American Standard Code for Information Interchange) coded files and more generally data files such as the ones corresponding to the coding of images e.g., according to the JPEG (Joint Picture Expert Group) standard compression algorithm. However, because this has to take place over unsecured media especially, the Internet, a key issue becomes authentication. It should be possible for the recipient of a document to ascertain its origin so that no one should be able to masquerade as someone else. Also, it should be possible to verify that a document has not been modified, accidentally or maliciously, en route. To this end the standard solution; which goes well with any form of electronic document since, whatever method is used to code the information, the end result is just a binary data file, consists in concatenating a MAC or Message Authentication Code to the soft-copy document files. A MAC is a digest computed with a one-way hash function over a coded binary file, which is also made dependent on a key (e.g., a secret-key known only to the sender and the recipient) so that the recipient can check first, that what has been received originated with the one whom shares the secret-key and second, that the document has not been altered.
For example, Secure Hash Algorithm or SHA specified by the National Institute of Standards and Technologies, NIST, FIPS PUB 180-1, “Secure Hash Standard”, US Dpt of Commerce, May 93, produces a 160-bit hash. It may be combined with a key, for example through the use of a mechanism referred to as HMAC or Keyed-Hashing for Message Authentication, subject of the RFC (Request For Comment) of the IETF (Internet Engineering Task Force) under the number 2104. HMAC is devised so that it can be used with any iterative cryptographic hash function, including SHA. Therefore, a MAC can be appended to a document file so that the whole can be checked by the recipient. Thus, this method assumes the addition of checking information to an existing file after the information to be transmitted has been coded. This has the inconvenience of indeed clearly separating the file content information from its checking part. Hence, this latter can easily be isolated and removed intentionally, in an attempt to cheat, or accidentally, due to the fact that the intermediate pieces of equipment which are in charge of forwarding the electronic documents are not devised to manipulate this extra piece of information.
Yet another key issue, with a public communications network such as the Internet, is privacy and confidentiality. Not all of the information circulating between end users, be it comprised of texts, images or is a combination of, should be made public. The standard answer to this issue rests on cryptography. That is, information files that must be kept secret are encrypted before transmission. DES (Data Encryption Standard) is the standard encryption algorithm that has been in use for two decades to encrypt and decrypt data files. It operates on 64-bit blocks of data, using a symmetric secret-key to be shared by those involved. DES is identical to the ANSI standard Data Encryption Algorithm (DEA) defined in ANSI X3.92-1981.
Authenticating encrypted files is conducted just as with non-encrypted files i.e., a MAC is computed and concatenated to what remains intrinsically a binary data file. Hence, another disadvantage of computing integrity information on data is that the integrity information itself reveals some information about the data on which it is computed. Unless the key is changed, the integrity information computed on the data remains constant. Therefore, if an eavesdropper observes the same transmitted MAC, he/she can be certain that the same encrypted message was transmitted. In applications where pre-formatted files are repeatedly forwarded (e.g., the same coded images or coded pieces of music), a simple frequency analysis performed on the intercepted MAC values may reveal a pattern in the transmitted messages. Similarly, one or a set of encrypted files sent only once to many destinations can unveil what group has received common information.
Hence, it would be advantageous firstly, to introduce randomization into the process so that MAC values are constantly changing and secondly, to allow the hiding of MACs in the transmitted information thereby completely preventing an adversary from learning anything through the observation of the forwarded data. If this result could be partially obtained (randomization could be achieved this way) by changing the keys, wherein the key to compute the MAC would be different for each transmitted copy of identical data file(s) and/or for each different destination, the process would severely impact the key management system, since it would be necessary to first distribute the secret keys through a separate channel, which is a burdensome task.
Thus, it is a broad object of the invention to remedy the shortcomings of the prior art as described here above.
It is another object of the invention to disclose a method and a system which introduce randomization in the insertion of a MAC so that, for each replication of a same group of data files, unique authentication data can be associated.
It is still another object of the invention to allow authentication data to be merged and hidden in the transmitted information.
It is a further object of the invention that the process be implemented transparently, without the need for having to distribute more secret-keys than usually required to perform encryption and authentication.
Further objects, features and advantages of the present invention will become apparent to the ones skilled in the art upon examination of the following description in reference to the accompanying drawings. It is intended that any additional advantages be incorporated herein.